package cn.xw.commons.core.utils.fileServerUtils.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * 文件详细信息
 *
 * @author Anhui AntLaddie <a href="https://www.cnblogs.com/antLaddie/">(博客园蚂蚁小哥)</a>
 * @version 1.0
 **/
@Data
public class FileDetailsVO {

    /***
     * 文件名称
     */
    private String fileName;

    /***
     * 文件创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss:sss", timezone = "GMT+08")
    private Date createDate;

    /***
     * 文件大小，单位“MB”
     */
    private BigDecimal fileSize;

    /***
     * 文件大小单位
     */
    private String sizeUnit = "MB";

    /***
     * 文件存储的服务器
     */
    private String fileAddr;

    /***
     * 元数据信息
     */
    private Map<String, String> fileMetadata = new HashMap<>();

    public BigDecimal getFileSize() {
        BigDecimal decimal = new BigDecimal("1024.00");
        return fileSize.divide(decimal, 8, RoundingMode.HALF_UP).divide(decimal, 3, RoundingMode.HALF_UP);
    }
}
